home *** CD-ROM | disk | FTP | other *** search
-
- W i n L u p e 6.70 - faster than light
- ---------------------------------------
- (inkl. Sourcen in Pure C und Assembler)
-
-
- Ein Programm von ...
-
- Christian Grunenberg
- Traminerweg 5
- D-71717 Beilstein
-
- Tel.: 07062 - 5287
-
- E-Mail: Christian Grunenberg @ S2 (Mausnet)
- Christian_Grunenberg@S2.maus.de (Usenet)
-
- In der Maus Stuttgart 2 (@S2) liegt immer die neueste Version der WinLupe.
-
- WinLupe ist ein kleines Utility, welches nach dem Freeware-Prinzip verteilt
- wird. Dies bedeutet, daß jeder das Programm inkl. der Sourcen kopieren, be-
- nutzen und weitergeben darf, außer es handelt sich um PD-Versender, denn diese
- müssen sich bei mir eine schriftliche Genehmigung einholen. Eine kommerzielle
- Verwendung der WinLupe ist allerdings untersagt bzw. muss mit mir abgesprochen
- werden. Ebenso ist es verboten, veränderte Versionen der Sourcen bzw. unvoll-
- ständige Archive zu verbreiten. Bei vorhandenen Fehlern sollte man sich statt-
- dessen immer mit genauen Fehlermeldungen an mich wenden.
-
- Für das einwandfreie Funktionieren des Utilities oder eventuell entstehender
- Schäden übernehme ich keinerlei Garantie bzw. Verantwortung.
-
- Sollte Ihnen das Programm dennoch gefallen oder Sie wollen die neueste
- Version der WinLupe, so senden Sie mir einfach eine beliebige PD-Diskette
- (als Anerkennung) und einen frankierten Rückumschlag (für die neue Version)
- zu.
-
- Grundsätzlich ist das Programm sauber programmiert. Es sollte also unter allen
- TOS-Versionen und auf allen (MEGA) ST(-Book)/STE/TT/FALCON-Computern laufen,
- da es keinerlei Annahmen bezüglich des Bildschirmaufbaus macht, was bedeutet,
- daß es auch Großbildschirme, Grafikkarten und True-Color-Darstellung unter-
- stützt. Eventuell bzw. wahrscheinlich läuft es somit auch unter ST-Emulatoren
- für MS-DOS und den Amiga.
-
- WinLupe läßt sich sowohl als Programm als auch als Accessory durch einfaches
- Umbenennen starten. Die Funktionen des Programmes sollten eigentlich für sich
- sprechen bzw. sind in der integrierten Hilfe ausreichend erklärt worden.
-
- Der Speicherbedarf des Programms wurde so niedrig wie möglich gehalten,
- wobei jedoch auf die Geschwindigkeit der Vergrößerung Rücksicht genommen
- werden mußte, so daß das Programm ca. 8 Kb für interne Tabellen benötigt.
- Insgesamt benötigt die WinLupe im Grundzustand etwa 68 KB Speicher (inkl.
- Programmcode/Daten). Ebenso braucht es zwei Bildschirmpuffer für die
- Vergrößerung, sofern das Fenster geöffnet ist. Dies sind auf einem ST max.
- 96 KB, auf einem TT max. 456KB und auf einem Falcon/030 bei max. Auflösung
- ca. 2 MB. Aber ich glaube nicht, daß jemand die WinLupe im Overscanned- &
- Interlaced-True-Color-Modus (768*576*65536 Farben) startet, sofern das das
- AES überhaupt ermöglicht. Bei 640*480*256 Farben sind es dann 'nur' noch
- 912 KB.
-
- Legt man Wert auf ein Maximum an Geschwindigkeit, sollte man die Optionen
- 'Fenster runden' und 'Mauszeiger mitvergrößern' aktivieren und die 'Echt-
- zeitschieber' deaktivieren. Ebenso sollte man eine der vorgegebenen Ver-
- größerungen (2/4/8/16) wählen und die Vergrößerungsfrequenz auf 100 Hz
- stellen. Auch empfiehlt es sich, sofern der Grafikaufbau der Grafikkarte bzw.
- des Computers bekannt ist, den Standard-, Pixelpacked- oder Interleaved-Modus
- zu aktivieren, wobei Geschwindigkeitssteigerungen zwischen 150% und 3000%
- gegenüber der sauberen Vergrößerung über VDI-Transform erreichbar sind.
- Dennoch (!) findet kein direkter Zugriff auf den Bildschirm statt.
- Der Standard-Modus arbeitet in allen Auflösungen, bei denen der Bildschirm-
- aufbau mit dem VDI-Standard-Format übereinstimmt, also z.B. ST- und TT-High.
- Der Pixelpacked-Modus arbeitet auf denjenigen Grafikkarten, bei denen die
- einzelnen Bits der Pixel nicht in Planes, sondern direkt hintereinander im
- Speicher organisiert sind. Dies ist z.B. bei vielen Grafikkarten im
- 8/15/16/24/32-Bit-Modus der Fall, was einer Farbanzahl von je 256,32768,65536
- oder 16.7 Millionen entspricht. Ebenso gibt es den Interleaved-Modus, der bei
- einem Grafikaufbau, der denjenigem des ST/TT entspricht, funktioniert, d.h.
- die Planes der Pixel liegen verschachtelt hintereinander im Speicher. Dies
- funktioniert in allen ST- und TT-Auflösungen sowie in allen Falcon-Grafik-Modi
- außer dem True-Color-Modus, bei dem in den Pixel-Packed-Modus geschaltet
- werden muß.
-
- Die Option 'Kompatibilitäts-Modus' aktiviert den an sich notwendigen
- wind_update()-Aufruf. Nur bei deaktivierter Option erfolgt auch bei aktiven
- Dialogen, in der Menüleiste oder beim Verschieben von Desktopelementen bzw.
- Fenstern eine Vergrößerung im Fenster. Dabei kann es zu Redraw-Fehlern kommen,
- wenn sich das WinLupe-Fenster und ein Dialog/Menü überlappen bzw. wenn ein
- Fenster über das WinLupe-Fenster geschoben wird.
-
- Bei deaktivierter Option 'Mauszeiger an-/ausschalten' wird nur dann der
- Mauszeiger korrekt an-/ausgeschaltet, wenn entweder die Echtzeitvergrößerung
- deaktiviert ist oder der Mauszeiger über einem sichtbaren Teil des Fensters
- steht. Dies verhindert in der Regel ein Flackern des Mauszeigers, kann aber in
- äußerst seltenen Fällen zu minimalen Redraw-Fehlern führen, welche aber kurz-
- fristig sind und nur an den Rändern von Fenstern auftreten können. Außerdem muß
- man für diesen Fall den Mauszeiger mit maximaler Geschwindigkeit über den
- Schirm bewegen, d.h. im normalen Anwendungsalltag kommt es zu keinerlei
- Problemen.
-
-
- WinLupe wurde mit Pure C 1.1 von Application Systems Heidelberg und meiner
- eigenen, erweiterten Dialog-Library EnhancedGEM programmiert.
-
-
- Hinweis : Die Infofiles der verschiedenen Versionen sind nicht kompatibel
- zueinander, d.h. es müssen bei jeder neuen Version die Einstellungen
- neu vorgenommen und danach ein Infofile erstellt werden.
-
- Wichtig :
- Benutzt man ein altes Infofile weiter, so kann es entweder zu
- einer Fehlermeldung oder Abstürzen kommen !!!
-
-
- Geschwindigkeit der WinLupe : (alle Zeiten in ms)
- =================================================
-
- Die u.a. Zeiten wurden in der ST-High-Auflösung gemessen, wobei das
- WinLupe-Fenster so groß wie der Bildschirm war und die Option 'Fenster
- runden' ausgeschaltet war. Dies bedeutet, daß die Zeiten die langsamsten
- Anwendungsfälle darstellen, denn die Geschwindigkeit der Zoomroutinen
- kommt erst bei aktivierter 'Fenster runden'-Option zur Geltung. Auch
- profitieren sie sehr stark von einem Blitter, wodurch bei optimal
- eingestellten Parametern der WinLupe und vorhandenem Blitter die
- Geschwindigkeit bis zu 3 mal so hoch ist wie in den unten angegebenen
- Fällen. Bei einer Fenstergröße von etwa einem Viertel des Bildschirms
- sind Vergrößerungsraten von über 25 Hz auf einem ST ohne Blitter,
- über 35 Hz mit Blitter und über 60 Hz auf einem MEGA/STE erreichbar.
-
- Die WinLupe dürfte auf einem TT in ST-Auflösungen etwa die zwei- bis
- dreifache Geschwindigkeit des MEGA/STE erreichen. In TT-Auflösungen
- wird etwa die gleiche Geschwindigkeit erreicht, da das zu vergrößernde
- Datenvolumen entsprechend größer ist.
-
-
- Vergrößerungsmodus : VDI-Transform
- ----------------------------------
-
- Vergrößerung | ATARI ST | MEGA/STE&NVDI |
- -------------+-------------------+-------------------+
- | Zoom | All | Zoom | All |
- -------------+---------+---------+---------+---------+
- 2 | 50 | 325 | 30 | 110 |
- 3 | 40 | 275 | 25 | 95 |
- 4 | 30 | 265 | 20 | 85 |
- 6 | 25 | 250 | 20 | 80 |
- 8 | 20 | 240 | 15 | 75 |
- 16 | 20 | 260 | 15 | 85 |
-
-
- Vergrößerungsmodus : Standard
- ----------------------------------
-
- Vergrößerung | ATARI ST | MEGA/STE&NVDI |
- -------------+-------------------+-------------------+
- | Zoom | All | Zoom | All |
- -------------+---------+---------+---------+---------+
- 2 | 50 | 280 | 30 | 60 |
- 3 | 40 | 230 | 25 | 55 |
- 4 | 30 | 210 | 20 | 45 |
- 6 | 25 | 205 | 20 | 45 |
- 8 | 20 | 185 | 15 | 40 |
- 16 | 20 | 190 | 15 | 40 |
-
- Zoom -> eigentliche Vergrößerungsroutine
- All -> kompletter Bildaufbau
-
- Die Vergrößerungszeiten des Interleaved-Modus sind etwas schlechter
- als die des Standard-Modus, hingegen sind die des Pixel-Packed-Modus
- meistens um einige Faktoren besser, wobei man allerdings bedenken
- muß, daß das Datenvolumen im Pixel-Packed-Modus um ein Vielfaches höher
- ist als in monochromem Auflösungen.
-
- Allgemein sind die optimierten Routinen ohne VDI-Transform besonders
- dann sinnvoll, wenn weder ein Blitter oder Grafikprozessor noch NVDI
- vorhanden sind. Ebenso hängt die Geschwindigkeit der Pixel-Packed-
- Routinen stark von der Grafikkarte ab. Bei 2,4 oder 16 Farben sind die
- Zeiten mit denen des Standard-Modus äquivalent, bei mehr Farben sind
- teilweise entschieden höhere Geschwindigkeiten möglich.
-
- Hier einige Beispiele :
- ST-High/TT-High (evtl. mit Overscan) : Standard
- monochrome Grafikkarten : Standard
- ST/TT-Low/Mid (evtl. mit Overscan) : Interleaved
- Falcon-True-Color-Modus : Pixel-Packed
- Grafikkarten mit mind. 4 Farben : Pixel-Packed
-
-
- Viel Spaß,
- Criss ...
-
-
- P.S: Falls jemand nicht weiß, wofür er die WinLupe gebrauchen kann, hier
- ein paar Einsatzgebiete :
- - Programme,bei denen es auf exakte Mauspositionierung ankommt, also
- z.B. Grafik- und Zeichenprogramme, aber auch DTP
- - Überprüfung von eigenen Grafik- und Zeichenroutinen
- - Grafikprogramme, die keine eigene bzw. eine zu langsame
- oder unbrauchbare Lupenfunktion besitzen
- - genaues Betrachten von Grafiken/Icons,um diese für eigene Ideen
- verwenden zu können
-